<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>UniMRCP: apt_log.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">UniMRCP
   &#160;<span id="projectnumber">1.5.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_995e6b30ef7b7f0b2dec48039971ec97.html">apr-toolkit</a></li><li class="navelem"><a class="el" href="dir_af55bba262e1419c3a74fbffa32b25cc.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">apt_log.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="apt__log_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright 2008-2015 Arsen Chaloyan</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef APT_LOG_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define APT_LOG_H</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * @file apt_log.h</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * @brief Basic Logger</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span> </div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="apt_8h.html">apt.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<a class="code" href="apt_8h.html#ad3d792bfc75893affad257781ea46e55">APT_BEGIN_EXTERN_C</a></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">/** Default max size of the log file (8Mb) */</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="apt__log_8h.html#afd932992b0afe0ee3014a55ceace90c7">   32</a></span>&#160;<span class="preprocessor">#define MAX_LOG_FILE_SIZE (8 * 1024 * 1024)</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="comment">/** Default max number of log files used in rotation */</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a95372c49592ea43b361649e485e111a2">   34</a></span>&#160;<span class="preprocessor">#define MAX_LOG_FILE_COUNT 100</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">/** Opaque log source declaration */</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> <a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a>;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">/** Declaration of log mark to be used by custom log sources */</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a96852480f3e6d9b89b8fbea1618eb8">   40</a></span>&#160;<span class="preprocessor">#define APT_LOG_MARK_DECLARE(LOG_SOURCE)   LOG_SOURCE,__FILE__,__LINE__</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">/** Use this macro in a header file to declare a custom log source */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a00399e23afe864a9c8f73cb131e72ddd">   43</a></span>&#160;<span class="preprocessor">#define APT_LOG_SOURCE_DECLARE(SCOPE,LOG_SOURCE) \</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">    extern apt_log_source_t *LOG_SOURCE; \</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">    SCOPE##_DECLARE(void) LOG_SOURCE##_init();</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/** Use this macro in a source file to implement a custom log source */</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="apt__log_8h.html#ad26d815880cf0cfb1ed73572451b030b">   48</a></span>&#160;<span class="preprocessor">#define APT_LOG_SOURCE_IMPLEMENT(SCOPE, LOG_SOURCE, LOG_SOURCE_TAG) \</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">    apt_log_source_t *LOG_SOURCE = &amp;def_log_source; \</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">    SCOPE##_DECLARE(void) LOG_SOURCE##_init() {apt_log_source_assign(LOG_SOURCE_TAG,&amp;LOG_SOURCE);}</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">/** Default (globally available) log source */</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> <a class="code" href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a>;<span class="comment"></span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/** Default log mark providing log source, file and line information */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a4ca9ba651bdb2bec8de8516797e39bbc">   55</a></span>&#160;<span class="preprocessor">#define APT_LOG_MARK   APT_LOG_MARK_DECLARE(&amp;def_log_source)</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment"> * Definition of common formats used with apt_log().</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment"> * Note that the generic %p format can not be used for pointers</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"> * since apr_vformatter doesn&#39;t accept it. The format %pp introduced</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment"> * by apr_vformatter can not be used either since it breaks compatibility</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment"> * with generic printf style loggers.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#if defined(WIN32) &amp;&amp; APR_SIZEOF_VOIDP == 8</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log pointer values on Win x64 */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define APT_PTR_FMT       &quot;0x%I64x&quot;</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log pointer values */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="apt__log_8h.html#ac5f066a0d4eedd93325dcb7b7ba7d63e">   70</a></span>&#160;<span class="preprocessor">#define APT_PTR_FMT       &quot;0x%lx&quot;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log string identifiers */</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a44e0b4ed90d46fc6d2f16908950ffb50">   73</a></span>&#160;<span class="preprocessor">#define APT_SID_FMT       &quot;&lt;%s&gt;&quot;</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log string identifiers and resources */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a913cf7f473140c14558d0c9f6e9727fc">   75</a></span>&#160;<span class="preprocessor">#define APT_SIDRES_FMT    &quot;&lt;%s@%s&gt;&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log pointers and identifiers */</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a047ab352c0aea41bcd811ed67f9388c5">   77</a></span>&#160;<span class="preprocessor">#define APT_PTRSID_FMT    APT_PTR_FMT &quot; &quot; APT_SID_FMT</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log names and identifiers */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a83da441145655938b3fe3009e9074b71">   79</a></span>&#160;<span class="preprocessor">#define APT_NAMESID_FMT   &quot;%s &quot; APT_SID_FMT</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span><span class="comment">/** Format to log names, identifiers and resources */</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a46e95644ff79e631bfa4621b3940deeb">   81</a></span>&#160;<span class="preprocessor">#define APT_NAMESIDRES_FMT &quot;%s &quot; APT_SIDRES_FMT</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span><span class="comment"></span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">/** Priority of log messages ordered from highest priority to lowest (rfc3164) */</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">   84</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb">   85</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb">APT_PRIO_EMERGENCY</a>, <span class="comment">/**&lt; system is unusable */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1">   86</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1">APT_PRIO_ALERT</a>,     <span class="comment">/**&lt; action must be taken immediately */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241">   87</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241">APT_PRIO_CRITICAL</a>,  <span class="comment">/**&lt; critical condition */</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd">   88</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd">APT_PRIO_ERROR</a>,     <span class="comment">/**&lt; error condition */</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd">   89</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd">APT_PRIO_WARNING</a>,   <span class="comment">/**&lt; warning condition */</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819">   90</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819">APT_PRIO_NOTICE</a>,    <span class="comment">/**&lt; normal, but significant condition */</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74">   91</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74">APT_PRIO_INFO</a>,      <span class="comment">/**&lt; informational message */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df">   92</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df">APT_PRIO_DEBUG</a>,     <span class="comment">/**&lt; debug-level message */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8">   94</a></span>&#160;    <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8">APT_PRIO_COUNT</a>      <span class="comment">/**&lt; number of priorities */</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;} <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">/** Header (format) of log messages */</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7">   98</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834">   99</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834">APT_LOG_HEADER_NONE</a>     = 0x00, <span class="comment">/**&lt; disable optional headers output */</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b">  100</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b">APT_LOG_HEADER_DATE</a>     = 0x01, <span class="comment">/**&lt; enable date output */</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943">  101</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943">APT_LOG_HEADER_TIME</a>     = 0x02, <span class="comment">/**&lt; enable time output */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7">  102</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7">APT_LOG_HEADER_PRIORITY</a> = 0x04, <span class="comment">/**&lt; enable priority name output */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f">  103</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f">APT_LOG_HEADER_MARK</a>     = 0x08, <span class="comment">/**&lt; enable file:line mark output */</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3">  104</a></span>&#160;    <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3">APT_LOG_HEADER_THREAD</a>   = 0x10, <span class="comment">/**&lt; enable thread identifier output */</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    APT_LOG_HEADER_DEFAULT  = <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b">APT_LOG_HEADER_DATE</a> | <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943">APT_LOG_HEADER_TIME</a> | <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7">APT_LOG_HEADER_PRIORITY</a></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;} <a class="code" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7">apt_log_header_e</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">/** Mode of log output */</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">  110</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028">  111</a></span>&#160;    <a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028">APT_LOG_OUTPUT_NONE</a>     = 0x00, <span class="comment">/**&lt; disable logging */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b">  112</a></span>&#160;    <a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b">APT_LOG_OUTPUT_CONSOLE</a>  = 0x01, <span class="comment">/**&lt; enable console output */</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0">  113</a></span>&#160;    <a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0">APT_LOG_OUTPUT_FILE</a>     = 0x02  <span class="comment">/**&lt; enable log file output */</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/** Masking mode of private data */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">  117</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca">  118</a></span>&#160;    <a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca">APT_LOG_MASKING_NONE</a>,      <span class="comment">/**&lt; log everything as is */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259">  119</a></span>&#160;    <a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259">APT_LOG_MASKING_COMPLETE</a>,  <span class="comment">/**&lt; mask private data completely */</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80">  120</a></span>&#160;    <a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80">APT_LOG_MASKING_ENCRYPTED</a>  <span class="comment">/**&lt; encrypt private data */</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;} <a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/** Opaque logger declaration */</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">  124</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> <a class="code" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a>;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">/** Prototype of extended log handler function */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">  127</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> (*<a class="code" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line,</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *obj, <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority,</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list arg_ptr);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment"> * Create the singleton instance of the logger.</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment"> * @param mode the log output mode</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment"> * @param priority the log priority level</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment"> * @param pool the memory pool to use</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a9af49c9f345ec4982b40871f6d53734e">apt_log_instance_create</a>(<a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode, <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, apr_pool_t *pool);</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment"> * Create and load the singleton instance of the logger.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment"> * @param config_file the path to configuration file to load settings from</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment"> * @param pool the memory pool to use</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#aac0cbc38c5c8bb54a0942042f69242eb">apt_log_instance_load</a>(const <span class="keywordtype">char</span> *config_file, apr_pool_t *pool);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment"> * Destroy the singleton instance of the logger.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a8950f4ae1a8dfbd734a5d865a7a8edcc">apt_log_instance_destroy</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment"> * Get the singleton instance of the logger.</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a>*) <a class="code" href="apt__log_8h.html#aff2b9dcccf19774dfd3880721c667f60">apt_log_instance_get</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment"> * Set the singleton instance of the logger.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment"> * @param logger the logger to set</span></div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a08ec449d0cf5351ce21936f615bffaf2">apt_log_instance_set</a>(<a class="code" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> *logger);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment"> * Set the default log source.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment"> * @param log_source the log source to set</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="apt__log_8h.html#ab68a4ff48db1e4c75cbce6f99fb03a70">apt_def_log_source_set</a>(<a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source);</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment"> * Find and assign log source by its name.</span></div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment"> * @param name the unique name associated to the log source</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment"> * @param log_source the log source to be returned, if found</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a7c12eaec0833c9a2ca69e760eba61429">apt_log_source_assign</a>(const <span class="keywordtype">char</span> *name, <a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> **log_source);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"> * Open the log file.</span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment"> * @param dir_path the path to the log directory</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="comment"> * @param file_name the name of the log file</span></div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment"> * @param max_file_size the max size of the log file</span></div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment"> * @param max_file_count the max number of files used in log rotation</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment"> * @param append whether to append or to truncate (start over) the log file</span></div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment"> * @param pool the memory pool to use</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#aec3df0065ee31dbd851cfde7405909fb">apt_log_file_open</a>(</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                            const <span class="keywordtype">char</span> *dir_path,</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                            const <span class="keywordtype">char</span> *file_name,</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                            apr_size_t max_file_size,</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                            apr_size_t max_file_count,</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                            <a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> append,</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                            apr_pool_t *pool);</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment"> * Close the log file.</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a15044acbdaa13dda6727acb3a2ad33ae">apt_log_file_close</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment"> * Set the logging output mode.</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment"> * @param mode the mode to set</span></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a4525b325d9c2e2ba89b12acdbc7a9c66">apt_log_output_mode_set</a>(<a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode);</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment"> * Check the logging output mode to be enabled (set) or not.</span></div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment"> * @param mode the mode to check</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a5d49fb07a6d22c82089478b41c76785b">apt_log_output_mode_check</a>(<a class="code" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode);</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment"> * Translate the output mode string to bitmask of apt_log_output_e values.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="comment"> * @param str the string to translate</span></div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<span class="keywordtype">int</span>) <a class="code" href="apt__log_8h.html#a7c36e4dcc6d962095cf6f66f6739e1e0">apt_log_output_mode_translate</a>(<span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment"> * Set the logging priority (log level).</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment"> * @param priority the priority to set</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#aa8920ce20b1f9f3587dcc6915c8cba11">apt_log_priority_set</a>(<a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority);</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="comment"> * Translate the priority (log level) string to enum.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="comment"> * @param str the string to translate</span></div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>) <a class="code" href="apt__log_8h.html#ab536c1d8aa5204c27a8c1965d5c1ff9b">apt_log_priority_translate</a>(const <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment"> * Set the header (format) for log messages.</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="comment"> * @param header the header to set (used as bitmask)</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#ae6eca7f5d71328aa13611400c103ba0f">apt_log_header_set</a>(<span class="keywordtype">int</span> header);</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="comment"> * Translate the header string to bitmask of apt_log_header_e values.</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="comment"> * @param str the string to translate</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<span class="keywordtype">int</span>) <a class="code" href="apt__log_8h.html#ae4a24e8dc9b487df7ee2f18a68ec8905">apt_log_header_translate</a>(<span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment"> * Set the masking mode of private data.</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment"> * @param masking the masking mode to set</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a9f898dd81b328a312bbb53ca241caa73">apt_log_masking_set</a>(<a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a> masking);</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment"> * Get the current masking mode of private data.</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>) <a class="code" href="apt__log_8h.html#a5864eb2192d24c43aa3915c196091344">apt_log_masking_get</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment"> * Translate the masking mode string to enum.</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="comment"> * @param str the string to translate</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>) <a class="code" href="apt__log_8h.html#a6fadf3bd80ccf4539db0e151f1477312">apt_log_masking_translate</a>(const <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="comment"> * Mask private data based on the masking mode.</span></div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="comment"> * @param data_in the data to mask</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="comment"> * @param length the length of the data to mask on input, the length of the masked data on output</span></div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="comment"> * @param pool the memory pool to use if needed</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="comment"> * @return The masked data.</span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(const <span class="keywordtype">char</span>*) <a class="code" href="apt__log_8h.html#aad461219ec54cc4b8c3d7ca40c009925">apt_log_data_mask</a>(const <span class="keywordtype">char</span> *data_in, apr_size_t *length, apr_pool_t *pool);</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="comment"> * Set the extended external log handler.</span></div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="comment"> * @param handler the handler to pass log events to</span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="comment"> * @remark default logger is used to output the logs to stdout and/or log file,</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment"> *         if external log handler isn&#39;t set</span></div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a61b2d0bcf21f71b8ad23f83a788d2b39">apt_log_ext_handler_set</a>(<a class="code" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a> handler);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="comment"> * Do logging.</span></div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="comment"> * @param log_source the log source</span></div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="comment"> * @param file the file name log entry is generated from</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="comment"> * @param line the line number log entry is generated from</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="comment"> * @param priority the priority of the entire log entry</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="comment"> * @param format the format of the entire log entry</span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a6a67547b92b97e78367629b2676ba166">apt_log</a>(<a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line, <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const <span class="keywordtype">char</span> *format, ...);</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="comment"> * Do logging (this version uses an object externally associated with the logger).</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="comment"> * @param log_source the log source</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="comment"> * @param file the file name log entry is generated from</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="comment"> * @param line the line number log entry is generated from</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="comment"> * @param priority the priority of the entire log entry</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="comment"> * @param obj the associated object</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="comment"> * @param format the format of the entire log entry</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a3d13512c51de860d7446b78505df5a01">apt_obj_log</a>(<a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line, <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, <span class="keywordtype">void</span> *obj, const <span class="keywordtype">char</span> *format, ...);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment"> * Do logging (this version accepts va_list argument).</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="comment"> * @param log_source the log source</span></div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="comment"> * @param file the file name log entry is generated from</span></div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="comment"> * @param line the line number log entry is generated from</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment"> * @param priority the priority of the entire log entry</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment"> * @param format the format of the entire log entry</span></div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment"> * @param arg_ptr the arguments</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<a class="code" href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a>(<a class="code" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>) <a class="code" href="apt__log_8h.html#a7510414ff29f75149a0737b95758b49d">apt_va_log</a>(<a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line, <a class="code" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const <span class="keywordtype">char</span> *format, va_list arg_ptr);</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<a class="code" href="apt_8h.html#a432919823b38eb7e2b6fa2b544fb1644">APT_END_EXTERN_C</a></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* APT_LOG_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1">APT_PRIO_ALERT</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:86</div></div>
<div class="ttc" id="apt__log_8h_html_a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca"><div class="ttname"><a href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca">APT_LOG_MASKING_NONE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:118</div></div>
<div class="ttc" id="apt__log_8h_html_a08ec449d0cf5351ce21936f615bffaf2"><div class="ttname"><a href="apt__log_8h.html#a08ec449d0cf5351ce21936f615bffaf2">apt_log_instance_set</a></div><div class="ttdeci">apt_bool_t apt_log_instance_set(apt_logger_t *logger)</div></div>
<div class="ttc" id="apt__log_8h_html_a6a67547b92b97e78367629b2676ba166"><div class="ttname"><a href="apt__log_8h.html#a6a67547b92b97e78367629b2676ba166">apt_log</a></div><div class="ttdeci">apt_bool_t apt_log(apt_log_source_t *log_source, const char *file, int line, apt_log_priority_e priority, const char *format,...)</div></div>
<div class="ttc" id="apt_8h_html_a432919823b38eb7e2b6fa2b544fb1644"><div class="ttname"><a href="apt_8h.html#a432919823b38eb7e2b6fa2b544fb1644">APT_END_EXTERN_C</a></div><div class="ttdeci">#define APT_END_EXTERN_C</div><div class="ttdef"><b>Definition:</b> apt.h:38</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b">APT_LOG_HEADER_DATE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:100</div></div>
<div class="ttc" id="apt_8h_html_ac7b6d8df47829d778eb598e1cc52cc2a"><div class="ttname"><a href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a></div><div class="ttdeci">int apt_bool_t</div><div class="ttdef"><b>Definition:</b> apt.h:57</div></div>
<div class="ttc" id="apt__log_8h_html_a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b"><div class="ttname"><a href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b">APT_LOG_OUTPUT_CONSOLE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:112</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819">APT_PRIO_NOTICE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:90</div></div>
<div class="ttc" id="apt__log_8h_html_aa8920ce20b1f9f3587dcc6915c8cba11"><div class="ttname"><a href="apt__log_8h.html#aa8920ce20b1f9f3587dcc6915c8cba11">apt_log_priority_set</a></div><div class="ttdeci">apt_bool_t apt_log_priority_set(apt_log_priority_e priority)</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7">APT_LOG_HEADER_PRIORITY</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:102</div></div>
<div class="ttc" id="apt__log_8h_html_a85ba51d45cfda7b6c355d3ead64b0854"><div class="ttname"><a href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a></div><div class="ttdeci">apt_log_masking_e</div><div class="ttdef"><b>Definition:</b> apt_log.h:117</div></div>
<div class="ttc" id="apt__log_8h_html_a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0"><div class="ttname"><a href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0">APT_LOG_OUTPUT_FILE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:113</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd">APT_PRIO_ERROR</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:88</div></div>
<div class="ttc" id="apt__log_8h_html_a15044acbdaa13dda6727acb3a2ad33ae"><div class="ttname"><a href="apt__log_8h.html#a15044acbdaa13dda6727acb3a2ad33ae">apt_log_file_close</a></div><div class="ttdeci">apt_bool_t apt_log_file_close(void)</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7">apt_log_header_e</a></div><div class="ttdeci">apt_log_header_e</div><div class="ttdef"><b>Definition:</b> apt_log.h:98</div></div>
<div class="ttc" id="apt__log_8h_html_a7c36e4dcc6d962095cf6f66f6739e1e0"><div class="ttname"><a href="apt__log_8h.html#a7c36e4dcc6d962095cf6f66f6739e1e0">apt_log_output_mode_translate</a></div><div class="ttdeci">int apt_log_output_mode_translate(char *str)</div></div>
<div class="ttc" id="apt__log_8h_html_a8950f4ae1a8dfbd734a5d865a7a8edcc"><div class="ttname"><a href="apt__log_8h.html#a8950f4ae1a8dfbd734a5d865a7a8edcc">apt_log_instance_destroy</a></div><div class="ttdeci">apt_bool_t apt_log_instance_destroy(void)</div></div>
<div class="ttc" id="apt__log_8h_html_ab68a4ff48db1e4c75cbce6f99fb03a70"><div class="ttname"><a href="apt__log_8h.html#ab68a4ff48db1e4c75cbce6f99fb03a70">apt_def_log_source_set</a></div><div class="ttdeci">void apt_def_log_source_set(apt_log_source_t *log_source)</div></div>
<div class="ttc" id="apt_8h_html_ad3d792bfc75893affad257781ea46e55"><div class="ttname"><a href="apt_8h.html#ad3d792bfc75893affad257781ea46e55">APT_BEGIN_EXTERN_C</a></div><div class="ttdeci">#define APT_BEGIN_EXTERN_C</div><div class="ttdef"><b>Definition:</b> apt.h:36</div></div>
<div class="ttc" id="apt__log_8h_html_ae6eca7f5d71328aa13611400c103ba0f"><div class="ttname"><a href="apt__log_8h.html#ae6eca7f5d71328aa13611400c103ba0f">apt_log_header_set</a></div><div class="ttdeci">apt_bool_t apt_log_header_set(int header)</div></div>
<div class="ttc" id="apt__log_8h_html_a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028"><div class="ttname"><a href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028">APT_LOG_OUTPUT_NONE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:111</div></div>
<div class="ttc" id="apt_8h_html_aa701cd5c7c75024c8c2fb994c6e3bfd9"><div class="ttname"><a href="apt_8h.html#aa701cd5c7c75024c8c2fb994c6e3bfd9">APT_DECLARE</a></div><div class="ttdeci">#define APT_DECLARE(type)</div><div class="ttdef"><b>Definition:</b> apt.h:53</div></div>
<div class="ttc" id="apt__log_8h_html_a7510414ff29f75149a0737b95758b49d"><div class="ttname"><a href="apt__log_8h.html#a7510414ff29f75149a0737b95758b49d">apt_va_log</a></div><div class="ttdeci">apt_bool_t apt_va_log(apt_log_source_t *log_source, const char *file, int line, apt_log_priority_e priority, const char *format, va_list arg_ptr)</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df">APT_PRIO_DEBUG</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:92</div></div>
<div class="ttc" id="apt_8h_html"><div class="ttname"><a href="apt_8h.html">apt.h</a></div><div class="ttdoc">APR Toolkit Definitions. </div></div>
<div class="ttc" id="apt__log_8h_html_a4525b325d9c2e2ba89b12acdbc7a9c66"><div class="ttname"><a href="apt__log_8h.html#a4525b325d9c2e2ba89b12acdbc7a9c66">apt_log_output_mode_set</a></div><div class="ttdeci">apt_bool_t apt_log_output_mode_set(apt_log_output_e mode)</div></div>
<div class="ttc" id="apt__log_8h_html_abf60ebebb3297cc42fc61945d88285fd"><div class="ttname"><a href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a></div><div class="ttdeci">apt_log_source_t def_log_source</div></div>
<div class="ttc" id="apt__log_8h_html_aea176175d035c1bc34b27277bfe99f61"><div class="ttname"><a href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a></div><div class="ttdeci">apt_bool_t(* apt_log_ext_handler_f)(const char *file, int line, const char *obj, apt_log_priority_e priority, const char *format, va_list arg_ptr)</div><div class="ttdef"><b>Definition:</b> apt_log.h:127</div></div>
<div class="ttc" id="apt__log_8h_html_a5420d1c2ce875d2d921f69cd6bbda0dd"><div class="ttname"><a href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a></div><div class="ttdeci">struct apt_log_source_t apt_log_source_t</div><div class="ttdef"><b>Definition:</b> apt_log.h:37</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb">APT_PRIO_EMERGENCY</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:85</div></div>
<div class="ttc" id="apt__log_8h_html_a7c12eaec0833c9a2ca69e760eba61429"><div class="ttname"><a href="apt__log_8h.html#a7c12eaec0833c9a2ca69e760eba61429">apt_log_source_assign</a></div><div class="ttdeci">apt_bool_t apt_log_source_assign(const char *name, apt_log_source_t **log_source)</div></div>
<div class="ttc" id="apt__log_8h_html_a3d13512c51de860d7446b78505df5a01"><div class="ttname"><a href="apt__log_8h.html#a3d13512c51de860d7446b78505df5a01">apt_obj_log</a></div><div class="ttdeci">apt_bool_t apt_obj_log(apt_log_source_t *log_source, const char *file, int line, apt_log_priority_e priority, void *obj, const char *format,...)</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd">APT_PRIO_WARNING</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:89</div></div>
<div class="ttc" id="apt__log_8h_html_aec3df0065ee31dbd851cfde7405909fb"><div class="ttname"><a href="apt__log_8h.html#aec3df0065ee31dbd851cfde7405909fb">apt_log_file_open</a></div><div class="ttdeci">apt_bool_t apt_log_file_open(const char *dir_path, const char *file_name, apr_size_t max_file_size, apr_size_t max_file_count, apt_bool_t append, apr_pool_t *pool)</div></div>
<div class="ttc" id="apt__log_8h_html_aac0cbc38c5c8bb54a0942042f69242eb"><div class="ttname"><a href="apt__log_8h.html#aac0cbc38c5c8bb54a0942042f69242eb">apt_log_instance_load</a></div><div class="ttdeci">apt_bool_t apt_log_instance_load(const char *config_file, apr_pool_t *pool)</div></div>
<div class="ttc" id="apt__log_8h_html_a6fadf3bd80ccf4539db0e151f1477312"><div class="ttname"><a href="apt__log_8h.html#a6fadf3bd80ccf4539db0e151f1477312">apt_log_masking_translate</a></div><div class="ttdeci">apt_log_masking_e apt_log_masking_translate(const char *str)</div></div>
<div class="ttc" id="apt__log_8h_html_ab536c1d8aa5204c27a8c1965d5c1ff9b"><div class="ttname"><a href="apt__log_8h.html#ab536c1d8aa5204c27a8c1965d5c1ff9b">apt_log_priority_translate</a></div><div class="ttdeci">apt_log_priority_e apt_log_priority_translate(const char *str)</div></div>
<div class="ttc" id="apt__log_8h_html_aff2b9dcccf19774dfd3880721c667f60"><div class="ttname"><a href="apt__log_8h.html#aff2b9dcccf19774dfd3880721c667f60">apt_log_instance_get</a></div><div class="ttdeci">apt_logger_t * apt_log_instance_get(void)</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241">APT_PRIO_CRITICAL</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:87</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f">APT_LOG_HEADER_MARK</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:103</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3">APT_LOG_HEADER_THREAD</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:104</div></div>
<div class="ttc" id="apt__log_8h_html_ae4a24e8dc9b487df7ee2f18a68ec8905"><div class="ttname"><a href="apt__log_8h.html#ae4a24e8dc9b487df7ee2f18a68ec8905">apt_log_header_translate</a></div><div class="ttdeci">int apt_log_header_translate(char *str)</div></div>
<div class="ttc" id="apt__log_8h_html_a61b2d0bcf21f71b8ad23f83a788d2b39"><div class="ttname"><a href="apt__log_8h.html#a61b2d0bcf21f71b8ad23f83a788d2b39">apt_log_ext_handler_set</a></div><div class="ttdeci">apt_bool_t apt_log_ext_handler_set(apt_log_ext_handler_f handler)</div></div>
<div class="ttc" id="apt__log_8h_html_a9af49c9f345ec4982b40871f6d53734e"><div class="ttname"><a href="apt__log_8h.html#a9af49c9f345ec4982b40871f6d53734e">apt_log_instance_create</a></div><div class="ttdeci">apt_bool_t apt_log_instance_create(apt_log_output_e mode, apt_log_priority_e priority, apr_pool_t *pool)</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834">APT_LOG_HEADER_NONE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:99</div></div>
<div class="ttc" id="apt__log_8h_html_a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259"><div class="ttname"><a href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259">APT_LOG_MASKING_COMPLETE</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:119</div></div>
<div class="ttc" id="apt__log_8h_html_aeb15e830a6e412a90bf7ae50b56b0a3e"><div class="ttname"><a href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a></div><div class="ttdeci">struct apt_logger_t apt_logger_t</div><div class="ttdef"><b>Definition:</b> apt_log.h:124</div></div>
<div class="ttc" id="apt__log_8h_html_a5d49fb07a6d22c82089478b41c76785b"><div class="ttname"><a href="apt__log_8h.html#a5d49fb07a6d22c82089478b41c76785b">apt_log_output_mode_check</a></div><div class="ttdeci">apt_bool_t apt_log_output_mode_check(apt_log_output_e mode)</div></div>
<div class="ttc" id="apt__log_8h_html_aad461219ec54cc4b8c3d7ca40c009925"><div class="ttname"><a href="apt__log_8h.html#aad461219ec54cc4b8c3d7ca40c009925">apt_log_data_mask</a></div><div class="ttdeci">const char * apt_log_data_mask(const char *data_in, apr_size_t *length, apr_pool_t *pool)</div></div>
<div class="ttc" id="apt__log_8h_html_a1960772f6cdc14057adf178bc17cefd7"><div class="ttname"><a href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a></div><div class="ttdeci">apt_log_output_e</div><div class="ttdef"><b>Definition:</b> apt_log.h:110</div></div>
<div class="ttc" id="apt__log_8h_html_a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80"><div class="ttname"><a href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80">APT_LOG_MASKING_ENCRYPTED</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:120</div></div>
<div class="ttc" id="apt__log_8h_html_a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943"><div class="ttname"><a href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943">APT_LOG_HEADER_TIME</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:101</div></div>
<div class="ttc" id="apt__log_8h_html_a9f898dd81b328a312bbb53ca241caa73"><div class="ttname"><a href="apt__log_8h.html#a9f898dd81b328a312bbb53ca241caa73">apt_log_masking_set</a></div><div class="ttdeci">apt_bool_t apt_log_masking_set(apt_log_masking_e masking)</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74">APT_PRIO_INFO</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:91</div></div>
<div class="ttc" id="apt__log_8h_html_a5864eb2192d24c43aa3915c196091344"><div class="ttname"><a href="apt__log_8h.html#a5864eb2192d24c43aa3915c196091344">apt_log_masking_get</a></div><div class="ttdeci">apt_log_masking_e apt_log_masking_get(void)</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecb"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a></div><div class="ttdeci">apt_log_priority_e</div><div class="ttdef"><b>Definition:</b> apt_log.h:84</div></div>
<div class="ttc" id="apt__log_8h_html_a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8"><div class="ttname"><a href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8">APT_PRIO_COUNT</a></div><div class="ttdef"><b>Definition:</b> apt_log.h:94</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2017 10:11:48 for UniMRCP by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
